#include "widget.h"
#include "ui_widget.h"
#include <QDebug>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}


void Widget::on_textEdit_cursorPositionChanged()
{
    // 这个信号是当光标发生变化的时候触发
    // 获取光标的位置，在 QTextCursor::position 中获取
    QTextCursor cursor = ui->textEdit->textCursor();
    qDebug() << "cursorPositionChanged: " << cursor.position();
}

void Widget::on_textEdit_selectionChanged()
{
    // 这个信号是当选中范围改变时触发
    // 获取选中的范围，在 QTextCursor::selectedText 中获取
    QTextCursor cursor = ui->textEdit->textCursor();
    qDebug() << "selectionChanged: " << cursor.selectedText();
}

void Widget::on_textEdit_copyAvailable(bool b)
{
    // 这个信号是当文本 被选中/取消选中 的时候触发
    qDebug() << "copyAvailable: " << b;
}

void Widget::on_textEdit_undoAvailable(bool b)
{
    // 这个信号是当执行 撤回 操作的时候触发
    // 这个 b 表示能否进行 undo 操作
    qDebug() << "undoAvailable: " << b;
}

void Widget::on_textEdit_redoAvailable(bool b)
{
    // 这个信号是当执行 反撤回 操作的时候触发
    // 这个 b 表示能否进行 redo 操作
    qDebug() << "redoAvailable: " << b;
}
